package PCB;

public class Instructions {
    private char IName;           // 指令类型：C(CPU计算)、I(输入)、O(输出)、W(等待)、H(结束)
    private double IRuntime;      // 指令运行时间：表示该指令需要多少个时间片
    private double IRemainTime;   // 指令剩余运行时间：表示该指令还需要多少个时间片完成

    // 获取指令类型
    public char getIName() {
        return IName;
    }

    // 设置指令类型
    public void setIName(char IName) {
        this.IName = IName;
    }

    // 设置指令运行时间
    public void setIRuntime(double IRuntime) {
        this.IRuntime = IRuntime;
    }

    // 获取指令运行时间
    public double getIRuntime() {
        return IRuntime;
    }

    // 设置指令剩余运行时间
    public void setIRemainTime(double IRemainTime) {
        this.IRemainTime = IRemainTime;
    }

    // 获取指令剩余运行时间
    public double getIRemainTime() {
        return IRemainTime;
    }

    // 减少指令剩余运行时间（每执行一个时间片减少1）
    public void subIRemainTime(){
        this.setIRemainTime(this.getIRemainTime()-1);
    }
}